/*
 * Project Name:hbm-be.
 * File Name:CsSmNoticeDao.java
 * Package Name:com.hginfo.cs.be.dao.cs
 * Date:2018年04月24日 下午3:58:49
 * Copyright (c) 2016, hongguaninfo.com All Rights Reserved.
 *
 */
package cn.uce.common.omg.service;

import cn.uce.base.page.Page;
import cn.uce.base.page.Pagination;
import cn.uce.base.vo.IcsOrgTreeNodeVo;
import cn.uce.base.vo.IcsOrgVo;
import cn.uce.common.omg.dao.impl.IOmgOrgDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 公告表: cs_sm_notice. <br />
 * dao 层 <br />
 * Date: 2018年04月24日 下午3:58:49 <br />
 *
 * @author you
 * @since V1.0.0
 */
@Service("omgOrgService")
public class OmgOrgService {

    @Autowired
    private IOmgOrgDao omgOrgDao;
    public IcsOrgVo getOrgInforByCmsBaseOrgCode(String baseOrgCode) {
        return omgOrgDao.getOrgInforByCmsBaseOrgCode(baseOrgCode);
    }

    /**
     * 根据乾坤机构基准编码查询乾坤及行政机构信息
     * @param baseOrgCode
     * @return
     */
    public IcsOrgVo getOrgAndCmsOrgInforByCmsBaseOrgCode(String baseOrgCode) {
        return omgOrgDao.getOrgAndCmsOrgInforByCmsBaseOrgCode(baseOrgCode);
    }

    /**
     * @Description: (查询虚拟机构树节点)
     * @param orgVo
     * @return
     * @author XJ
     * @date 2017年8月10日 上午9:57:29
     */
    public List<IcsOrgTreeNodeVo> findOrgTreeNode(IcsOrgVo orgVo){
        return omgOrgDao.findOrgTreeNode(orgVo);
    }

    /**
     * @Description: (查询所属操作中心)
     * @param baseOrgCode
     * @return
     * @author 赵灿
     * @date 2018年6月14日 上午9:57:29
     */
    public String findOpreateCenterOrgCode(String baseOrgCode ){
        return omgOrgDao.findOpreateCenterOrgCode(baseOrgCode);
    }

    /**
     * @Description: (查询所属财务中心)
     * @param baseOrgCode
     * @return
     * @author 赵灿
     * @date 2018年6月14日 上午9:57:29
     */
    public String findFinanceCenterOrgCode(String baseOrgCode ){
        return omgOrgDao.findFinanceCenterOrgCode(baseOrgCode);
    }

    /**
     * 查询所有网点
     * @author: may
     * @date: 2018年7月12日17:04:59
     * @return
     */
    public List<IcsOrgTreeNodeVo> findOrgCodeWebsite(IcsOrgVo icsOrgVo){
        return omgOrgDao.findOrgCodeWebsite(icsOrgVo);
    }

    /**
     * 根据机构类型查询机构信息
     * @param icsOrgVo
     * @return
     */
    public List<IcsOrgVo> findOrgCmsByOrgType(IcsOrgVo icsOrgVo){
        return omgOrgDao.findOrgCmsByOrgType(icsOrgVo);
    }

    /**
     * 根据机构类型查询机构信息
     * @param icsOrgVo
     * @return
     */
    public Pagination<IcsOrgVo> findOrgCmsByOrgTypePage(IcsOrgVo icsOrgVo,Page page){
        return omgOrgDao.findOrgCmsByOrgTypePage(icsOrgVo,page);
    }

    /**
     * 根据乾坤机构id查询乾坤机构信息
     * @param cmsOrgId
     * @return
     */
    public IcsOrgVo getCmsOrgInforByCmsOrgId(Integer cmsOrgId) {
        if(cmsOrgId == null){
            return null;
        }
        return omgOrgDao.getCmsOrgInforByCmsOrgId(cmsOrgId);
    }

    /**
     * 根据乾坤机构 机构基准编号 查询机构信息 查库的形式 查询全部状态的
     * @param baseOrgCode
     * @return
     */
    public IcsOrgVo getOrgInforByCmsBaseOrgCodeAllStatus(String baseOrgCode) {
        return omgOrgDao.getOrgInforByCmsBaseOrgCodeAllStatus(baseOrgCode);
    }
    /**
     * 根据机构类型查询机构信息 查询全部状态的
     * @param icsOrgVo
     * @return
     */
    public List<IcsOrgVo> findOrgCmsByOrgTypeAllStatus(IcsOrgVo icsOrgVo){
        return omgOrgDao.findOrgCmsByOrgTypeAllStatus(icsOrgVo);
    }

    /**
     * 查询某个网点同中心的不包含自己的网点或者查询某个中心不包含自己的所有的财务中心
     * @param icsOrgVo
     * @return
     */
    public List<IcsOrgVo> getOrgOfNotSelf(Map<String, Object> icsOrgVo) {
        return omgOrgDao.getOrgOfNotSelf(icsOrgVo);
    }

	public List<IcsOrgVo> findAllOrg(Map<String, Object> orgMap) {
		// TODO Auto-generated method stub
		return omgOrgDao.findAllOrg(orgMap);
	}

	public List<IcsOrgVo> findOrgByOrgCode(Map<String, Object> orgMap) {
		// TODO Auto-generated method stub
		return omgOrgDao.findOrgByOrgCode(orgMap);
	}

//	public IcsOrgVo fingEmpOrgByEmpCode(String empCode) {
//		// TODO Auto-generated method stub
//		return omgOrgDao.fingEmpOrgByEmpCode(empCode);
//	}

	public IcsOrgVo fingOrgByOrgCode(Map<String, Object> map) {
		// TODO Auto-generated method stub
		return omgOrgDao.fingOrgByOrgCode(map);
	}

	public List<IcsOrgVo> fingOmgOrgByCode(Map<String, Object> map) {
		// TODO Auto-generated method stub
		return omgOrgDao.fingOmgOrgByCode(map);
	}

	public IcsOrgVo findOmgOrgByEmpCode(String empCode) {
		// TODO Auto-generated method stub
		return omgOrgDao.findOmgOrgByEmpCode(empCode);
	}

	public List<IcsOrgVo> findAllProvinceOrg(Map<String, Object> orgMap) {
		// TODO Auto-generated method stub
		return omgOrgDao.findAllProvinceOrg(orgMap);
	}

	public List<IcsOrgVo> findAllCmsOrg(Map<String, Object> map) {
		// TODO Auto-generated method stub
		return omgOrgDao.findAllCmsOrg(map);
	}

	public List<IcsOrgVo> findAllFinanceCenter() {
		// TODO Auto-generated method stub
		return omgOrgDao.findAllFinanceCenter();
	}

	public List<String> findOperateOrg(String orgName) {
		// TODO Auto-generated method stub
		return omgOrgDao.findOperateOrg(orgName);
	}

	public String findOrgNameByOrgId(String orgId){
        return omgOrgDao.findOrgNameByOrgId(orgId);
    }

	public IcsOrgVo findOrgByCode(Map<String, Object> map) {
		// TODO Auto-generated method stub
		return omgOrgDao.findOrgByCode(map);
	}

	public Pagination<IcsOrgVo> findByByCondition(IcsOrgVo omgCmsOrgVo, Page page) {
		return omgOrgDao.findByByCondition(omgCmsOrgVo,page);
	}
	public List<String> findOrgByParentByOrgCode(String cmsBaseOrgCode) {
		return omgOrgDao.findOrgByParentByOrgCode(cmsBaseOrgCode);
	}
    public String findCmsOrgByOrgType(String cmsBaseOrgCode){
        return omgOrgDao.findCmsOrgByOrgType(cmsBaseOrgCode);
    }

    public String getOrgInforByCmsBaseOrgName(String orgName){
        return omgOrgDao.getOrgInforByCmsBaseOrgName(orgName);
    }

    public List<String> findBaseOrgCodeByParentOrgCode(String cmsBaseOrgCode) {
        return omgOrgDao.findBaseOrgCodeByParentOrgCode(cmsBaseOrgCode);
    }

	public List<String> findBaseOrgCodeByFinanceOrgCode(String cmsBaseOrgCode) {
		return omgOrgDao.findBaseOrgCodeByFinanceOrgCode(cmsBaseOrgCode);
	}

	public Pagination<IcsOrgVo> findAllOrgByPage(IcsOrgVo omgCmsOrgVo, Page page) {
		return omgOrgDao.findAllOrgByPage(omgCmsOrgVo,page);
	}

    /**
     * 查询承包区/网点的所属财务中心和网点
     *
     * @return java.util.List<cn.uce.ics.base.vo.omg.IcsOrgVo>
     * @Author zhuzhaoyang
     * @Date 2019/11/27 16:02
     * @Param [param]
     **/
    public List<IcsOrgVo> findFinanceCenterAndAccCode(Map<String, Object> param){
        return omgOrgDao.findFinanceCenterAndAccCode(param);
    }

    /**
     * 根据机构基准编码查询机构名称
     *
     * @return java.util.List<cn.uce.ics.base.vo.omg.IcsOrgVo>
     * @Author zhuzhaoyang
     * @Date 2019/11/27 16:39
     * @Param [baseOrgCodes]
     **/
    public List<IcsOrgVo> findOrgNamesByBaseOrgCodes(List<String> baseOrgCodes){
        return omgOrgDao.findOrgNamesByBaseOrgCodes(baseOrgCodes);
    }

}
